/*
 * @Author: fengshan0525 2735332396@qq.com
 * @Date: 2023-03-19 09:40:11
 * @LastEditors: asanupup 15465106+asanupup@user.noreply.gitee.com
 * @LastEditTime: 2025-07-22 10:01:43
 * @FilePath: \nest-template\types\modelFields.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */

/**
 * 用户字段
 */
export interface UserFields {
  username: string;
  password: string;
  nickName?: string;
  telephone?: string;
  email?: string;
  status?: string | number;
  roles?: any[];
}
/**
 * 角色字段
 */
export interface RoleFields {
  roleId: number; // 角色id
  roleName: string; // 角色名称
  roleKey: string; // 角色权限字符串
  order: number; // 角色显示顺序
  status?: string; // 角色状态（1正常， 0停用）
  statusDetail?: string; // 角色状态描述
  remarks?: string; // 备注
}

interface Meta {
  title: string;
  icon: string;
}

interface Children {
  name: string;
  path: string;
  component: string;
  meta: Meta;
  menuId: number;
  parentId: number;
  status: string;
  menuType: string;
  statusDetail?: string;
  order?: number;
}
/**
 * 菜单字段
 */
export interface MenuFields extends Children {
  [key: string]: any;
}

/**
 * 系统能用到的初始化的定义-基础
 */
export interface SystemConfigBase {
  // 站点信息
  siteInfo: {
    siteTitle: string; // 站点标题
    siteSubtitle: string; // 站点副标题
    siteDomain: string; // 站点域名
    siteLogoUrl: string; // 站点LOGO地址
    siteKeywords: string; // 站点关键字
    siteDescription: string; // 站点描述
    siteRecord: string; // 站点备案
    siteTemplate: "default" | "v1" | "v2"; // 站点模板
    footerInfo: string; // 尾部信息
    defaultLanguage: string; // 默认语言
  };

  // 公司信息
  companyInfo: {
    companyName: string; // 公司名称
    companyAddress: string; // 公司地址
    companyDescription: string; // 公司介绍简述
    postalCode: string; // 邮政编码
    contactPerson: string; // 联系人
    mobilePhone: string; // 手机号
    telephone: string; // 电话号
    fax: string; // 传真
    email: string; // 电子邮箱
    qqNumber: string; // QQ号码
    wechatQrCodeUrl: string; // 微信二维码地址
    officialAccountQrCodeUrl: string; // 公众号二维码地址
    businessLicense: string; // 营业执照
    businessLicenseCopy: string; // 营业执照副本
    otherInfo: string; // 其他信息
  };
}

/**
 * 系统配置-高级脱产
 */
export interface SystemConfigAdv extends SystemConfigBase {
}
